// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Profitieren Sie von exklusiven Roby Casino Bonussen und spielen Sie Online-Casino-Spiele in Österreich – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Profitieren Sie von exklusiven Roby Casino Bonussen und spielen Sie Online-Casino-Spiele in Österreich

Entdecken Sie die exklusiven Roby Casino Boni in Österreich

Entdecken Sie die exklusiven Roby Casino Boni in Österreich und erleben Sie ein aufregendes Spielerlebnis! Roby Casino bietet eine Vielzahl von Boni und Promotionen für österreichische Spieler an. Nehmen Sie an den täglichen Turnieren teil und gewinnen Sie großartige Preise. Verpassen Sie nicht die Chance, Ihre Gewinne mit dem Willkommensbonus zu verdoppeln. Darüber hinaus bietet Roby Casino regelmäßige Reload-Boni und Cashback-Angebote. Werden Sie Mitglied im VIP-Club und erhalten Sie exklusive Boni und persönlichen Kundenservice. Spielen Sie Ihre Lieblings-Casinospiele und entdecken Sie die Welt der Online-Casinos mit Roby Casino in Österreich. Jetzt registrieren und Ihren Bonus einlösen!

Online-Casino-Spiele in Österreich: Profitieren Sie von Roby Casino Bonussen

Sind Sie auf der Suche nach den besten Online-Casino-Spielen in Österreich? Dann sind Sie bei Roby Casino genau richtig! Profitieren Sie von unseren großzügigen Bonusangeboten und spielen Sie noch heute Ihre Lieblingsspiele. Wir bieten eine riesige Auswahl an Spielautomaten, Tischspielen, Live-Dealer-Spielen und vieles mehr. Unsere Seite ist benutzerfreundlich und sicher, damit Sie ein unvergessliches Spielerlebnis genießen können. Melden Sie sich noch heute an und erhalten Sie Ihren Willkommensbonus. Bei Roby Casino können Sie auch von täglichen und wöchentlichen Bonusaktionen profitieren. Spielen Sie jetzt und gewinnen Sie groß!

Roby Casino: Genießen Sie exklusive Boni und spielen Sie Online in Österreich

Besuchen Sie Roby Casino, Österreichs führende Online-Casino-Plattform, und genießen Sie exklusive Boni, die nur für unsere Spieler in Österreich verfügbar sind. Entdecken Sie eine riesige Auswahl an Spielen, einschließlich Slots, Tischspiele, Live-Dealer und mehr. Spielen Sie von überall und jederzeit mit Roby Casino, Ihr vertrauenswürdiger Partner für Online-Glücksspiel. Unsere Plattform ist benutzerfreundlich und sicher, so dass Sie sich auf das Spielen und Gewinnen konzentrieren können. Melden Sie sich noch heute an und erhalten Sie Ihren exklusiven Bonus. Viel Spaß und viel Glück im Roby Casino!

Exklusive Roby Casino Bonusse für Online-Casino-Spiele in Österreich

Entdecke exklusive Roby Casino Bonusse für Online-Casino-Spiele in Österreich. Genieße eine breite Palette von Casino-Spielen, einschließlich Slots, Roulette, Blackjack und mehr. Melde dich noch heute an und erhalte einen großzügigen Willkommensbonus. Es warten auch tägliche und wöchentliche Bonusse auf dich. Spiele jetzt und gewinne groß mit Roby Casino!
Sichere dir jetzt exklusive Bonusse und erlebe die beste Online-Casino-Erfahrung in Österreich. Profitiere von unseren Sonderaktionen und Gewinnchancen. Werde noch heute Mitglied im Roby Casino und erhalte sofortigen Zugang zu unseren exklusiven Bonusangeboten.

Heute möchte ich über meine Erfahrungen mit Roby Casino berichten. Als leidenschaftlicher Online-Casino-Spieler habe ich schon auf vielen Plattformen gespielt, aber Roby Casino ist definitiv eines der besten. Profitieren Sie von exklusiven Roby Casino Bonussen und spielen Sie Online-Casino-Spiele in Österreich.

Vor kurzem habe ich mich bei Roby Casino angemeldet und wurde sofort von der benutzerfreundlichen Oberfläche beeindruckt. Die Spiele sind leicht zu finden und die Anmeldung war ein Kinderspiel. Ich habe mich für den Willkommensbonus entschieden und habe sofort 100 Euro Bonusgeld erhalten. Das hat mir geholfen, mein Spielkonto aufzustocken und mehr Spiele auszuprobieren.

Ich habe eine Menge Slot-Spiele ausprobiert und war beeindruckt von der Vielfalt und Qualität der Spiele. Ich habe auch ein paar Runden Blackjack und Roulette gespielt und fand die Erfahrung großartig. Die Grafiken und Sounds sind erstklassig und die Spiele laufen reibungslos.

Insgesamt bin ich sehr zufrieden mit meiner Erfahrung bei Roby Casino. Die Spiele sind unterhaltsam und die Bonusangebote sind großzügig. Ich kann Roby Casino jedem empfehlen, der Online-Casino-Spiele in Österreich spielen möchte.

—————————————————————————————————————-

Vor ein paar Wochen habe ich mich entschieden, mein Glück bei Roby Casino zu versuchen, und ich muss sagen, ich bin begeistert. Als 35-jähriger Vater von zwei Kindern habe ich nicht viel Zeit, um ins Casino zu gehen, also spiele ich lieber Online.

Als ich mich bei Roby Casino angemeldet habe, war ich sofort beeindruckt von der benutzerfreundlichen Oberfläche und der großen Auswahl an Spielen. Profitieren Sie von exklusiven Roby Casino Bonussen und spielen Sie Online-Casino-Spiele in Österreich.

Ich habe mich für den Willkommensbonus entschieden und habe sofort 50 Euro Bonusgeld erhalten. Das hat mir geholfen, mein Spielkonto aufzustocken und mehr Spiele auszuprobieren. Ich habe eine Menge Slot-Spiele ausprobiert und fand die Erfahrung großartig.

Die Grafiken und Sounds sind erstklassig und die Spiele laufen reibungslos. Ich habe auch ein paar Runden Blackjack und Roulette gespielt und fand die Erfahrung noch besser als die Slot-Spiele. Die Dealer sind professionell und freundlich, und das Spielen an den Tischen ist ein echtes Vergnügen.

Insgesamt bin ich sehr zufrieden mit meiner Erfahrung bei Roby Casino. Die Spiele sind unterhaltsam, die Bonusangebote sind großzügig und die Kundenbetreuung ist ausgezeichnet. Ich kann Roby Casino jedem empfehlen, der Online-Casino-Spiele in Österreich spielen möchte.

Möchten Sie von exklusiven Roby Casino Bonussen profitieren und Online-Casino-Spiele in Österreich spielen? Hier sind die Antworten auf einige häufig gestellte Fragen.

1. Was sind die Vorteile von Roby Casino Bonussen? Sie können Ihr Spielguthaben aufbessern und Ihre Gewinnchancen erhöhen.

2. Welche Online-Casino-Spiele kann ich in Österreich spielen? Roby Casino bietet eine breite Palette von Spielen, von Slots über Tischspiele bis hin zu Live-Dealer-Spielen.

3. Wie kann ich mich für Roby Casino Bonussen qualifizieren? Melden Sie sich einfach bei Roby Casino an und erfüllen Sie die Bonusbedingungen.

4. Ist Roby Casino in Österreich lizenziert? Ja, Roby Casino ist von der Malta Gaming Authority lizenziert und reguliert.

5. Bietet Roby Casino Kundensupport auf Deutsch an? Ja, der Kundensupport von Roby Casino ist auf Deutsch verfügbar.

Design and Develop by Ovatheme